package com.zqsign.core.key.common;

import java.util.List;
import java.util.Map;

/**
* @ClassName 	: IBaseDao 
* @Description 	: Dao的父接口
*
* @Company 		: zqsign
* @author 		: wx 
* @date 		: 2017年12月19日 下午5:05:01 
*/

public interface IBaseDao<T> {
	/**
	 * @Title: save
	 * @Description : 保存一条记录
	 * @author :wx
	 * @date 2017年12月19日下午5:06:37
	 * @param t 参数对象
	 * @return 表示的是此sql语句执行后对数据库的影响条数
	 */
	int insert(T t);

	/**
	 * @Title: update
	 * @Description : 更新一条记录
	 * @author :wx
	 * @date 2017年12月19日下午5:35:33
	 * @param t
	 * @return 表示的是此sql语句执行后对数据库的影响条数
	 */
	int update(T t);

	/**
	 * @Title: updateBatch
	 * @Description : 更新一条记录，多条件更新
	 * @author :wx
	 * @date 2017年12月19日下午5:47:02
	 * @param condMap
	 * @return 执行后对数据库影响条数
	 */
	int updateBatch(Map<String, Object> condMap);

	/**
	 * @Title: delete
	 * @Description : 删除一条记录，多条件删除
	 * @author :wx
	 * @date 2017年12月19日下午5:52:03
	 * @param condMap
	 * @return
	 */
	int delete(Map<String, Object> condMap);

	/**
	 * @Title: selectOne
	 * @Description : 查询一条记录
	 * @author :wx
	 * @date 2017年12月19日下午5:54:45
	 * @param condMap 查询条件
	 * @return 
	 */
	T selectOne(Map<String, Object> condMap);

	/**
	 * @Title: selectList
	 * @Description : 查询多条记录
	 * @author :wx
	 * @date 2017年12月19日下午6:03:39
	 * @param condMap 查询条件
	 * @return
	 */
	List<T> selectList(Map<String, Object> condMap);

}
